Programmable integrated circuits (ICs) may be programmed by a user to perform specified logic functions. One type of programmable IC, known as a field programmable gate array (FPGA), typically includes programmable resources that are arranged in an array of programmable tiles having programmable interconnects and programmable logic. The programmable interconnect typically includes a large number of interconnect lines of varying lengths interconnected by programmable interconnect points (PIPs). The programmable logic implements the logic of a circuit design using programmable elements that can include, for example, function generators, registers, arithmetic logic, and so forth. The programmable interconnect and programmable logic are typically programmed by loading a stream of configuration data into internal configuration memory cells that define how the programmable elements are configured. The configuration data can be read from memory (e.g., from an external PROM) or written into the FPGA by an external device. The collective states of the individual memory cells then determine the function of the FPGA.
During the process of developing a circuit design, the circuit design is generally tested to assess operation and performance prior to physical implementation and deployment. Testing a circuit design typically involves modeling operation of the circuit design using a software-based simulation model or emulating the circuit design on a programmable IC. In emulating a circuit design, programmable resources on a programmable IC are configured to implement the circuit design. In some implementations, operation of a circuit design may be modeled using a combination of simulation and emulation. For instance, a first circuit module of a circuit design may be simulated concurrently with emulation of a second circuit module of the circuit design. During simulation or emulation, test data is provided to the simulated/emulated circuit design and data signals are captured from various nodes of the circuit design. Data signals may be input to and captured from a simulated circuit design by a software debugging tool configured to execute a simulation model of the circuit design. In emulating a circuit design in a programmable IC, data may be input to and captured from the emulated circuit design by various circuits including, for example, an integrated logic analyzer circuit included in the programmable IC or connected to the programmable IC in an IC package, or a debugging system communicatively coupled to the programmable IC.